
AM_CPPFLAGS = -I${top_builddir} -I${top_srcdir}

this_includedir=${includedir}/${subdir}
this_include_HEADERS = \
    all.hpp \
    claytoncopularng.hpp \
    convolvedstudentt.hpp \
    farliegumbelmorgensterncopularng.hpp \
    fireflyalgorithm.hpp \
    frankcopularng.hpp \
    gaussiancopulapolicy.hpp \
    gaussiannoncentralchisquaredpolynomial.hpp \
    hybridsimulatedannealing.hpp \
    hybridsimulatedannealingfunctors.hpp \
    isotropicrandomwalk.hpp \
    laplaceinterpolation.hpp \
    latentmodel.hpp \
    levyflightdistribution.hpp \
    moorepenroseinverse.hpp \
    multidimintegrator.hpp \
    multidimquadrature.hpp \
    particleswarmoptimization.hpp \
    piecewisefunction.hpp \
    piecewiseintegral.hpp \
    polarstudenttrng.hpp \
    tcopulapolicy.hpp \
    zigguratrng.hpp

cpp_files = \
    convolvedstudentt.cpp \
    fireflyalgorithm.cpp \
    gaussiancopulapolicy.cpp \
    gaussiannoncentralchisquaredpolynomial.cpp \
    laplaceinterpolation.cpp \
    multidimintegrator.cpp \
    multidimquadrature.cpp \
    particleswarmoptimization.cpp \
    piecewiseintegral.cpp \
    tcopulapolicy.cpp \
    zigguratrng.cpp

if UNITY_BUILD

nodist_libMath_la_SOURCES = unity.cpp

unity.cpp: Makefile.am
	echo "/* This file is automatically generated; do not edit.     */" > $@
	echo "/* Add the files to be included into Makefile.am instead. */" >> $@
	echo >> $@
	for i in $(cpp_files); do \
		echo "#include \"${subdir}/$$i\"" >> $@; \
	done

EXTRA_DIST = $(cpp_files)

else

libMath_la_SOURCES = $(cpp_files)

endif

noinst_LTLIBRARIES = libMath.la

all.hpp: Makefile.am
	echo "/* This file is automatically generated; do not edit.     */" > ${srcdir}/$@
	echo "/* Add the files to be included into Makefile.am instead. */" >> ${srcdir}/$@
	echo >> ${srcdir}/$@
	for i in $(filter-out all.hpp, $(this_include_HEADERS)); do \
		echo "#include <${subdir}/$$i>" >> ${srcdir}/$@; \
	done
	echo >> ${srcdir}/$@
	subdirs='$(SUBDIRS)'; for i in $$subdirs; do \
		echo "#include <${subdir}/$$i/all.hpp>" >> ${srcdir}/$@; \
	done

